//操作数据库
const User = require('../model/user.model');
class UserService {
  async createUser(user_name, password) {
    //插入数据 
    const res = await User.create({
      user_name,
      password 
    })
    console.log(res);
    return res.dataValues;
  }

  async getUserInfo({ id, user_name,password, is_admin }) {
    const whereOpt = {}; //查询条件
    id && Object.assign(whereOpt, { id }); //如果id存在，就将id添加到whereOpt中
    user_name && Object.assign(whereOpt, { user_name }); //如果user_name存在，就将user_name添加到whereOpt中
    password && Object.assign(whereOpt, { password }); //如果password存在，就将password添加到whereOpt中
    is_admin && Object.assign(whereOpt, { is_admin }); //如果is_admin存在，就将is_admin添加到whereOpt中
    const res = await User.findOne({
      attributes: ['id', 'user_name', 'password', 'is_admin'], //查询的字段
      where: whereOpt //查询条件
    })
    return res ? res.dataValues : null; //返回查询结果
  }

  async updateById({ id, user_name, password, is_admin }) {
    const whereOpt = { id }; //查询条件
    const newUser = {}; //更新的内容
    user_name && Object.assign(newUser, { user_name }); //如果user_name存在，就将user_name添加到newUser中 
    password && Object.assign(newUser, { password }); //如果password存在，就将password添加到newUser中
    is_admin && Object.assign(newUser, { is_admin }); //如果is_admin存在，就将is_admin添加到newUser中
    const res = await User.update(newUser, { where: whereOpt }); //更新数据
    return res[0] > 0; //返回更新结果
    
  }
  
  
}

module.exports = new UserService();